home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / hyphenation / lahyph.tex < prev    next >
Text File  |  1997-04-24  |  8KB  |  206 lines

  1. %
  2. %                  ********** LAHYPH.TEX *************
  3. % Patterns for the latin language in modern spelling (u when u is needed and v
  4. % when v is needed; ligatures \ae and \oe tolerated)
  5. %
  6. % Prepared by  Claudio Beccari
  7. %              Politecnico di Torino
  8. %              Torino, Italy
  9. %              e-mail beccari@polito.it
  10. %
  11. % \versionnumber{1.2}   \versiondate{23 june 1994}
  12. %
  13. %
  14. % For documentation see:
  15. % C. Beccari, "Computer aided hyphenation for Italian and Modern
  16. %       Latin", TUG vol. 13, n. 1, pp. 23-33 (1992)
  17. %
  18. % see also
  19. %
  20. % C. Beccari, "Typsetting of ancient languages",
  21. %             TUG vol.15, n.1, pp. 9-16 (1994) 
  22. %
  23. % In the preceding paper the code is described as file ITALAT.TEX; this is
  24. % substancially the asme code, but the file ha been renamed LAHYPH.TEX
  25. % in accordance with the ISO name for latin and the convention that all
  26. % hyphenation pattern file names should be formaed by the agglutination of 
  27. % two letter language ISO code and the abbreviation HYPH.
  28. %
  29. % A corresponding file (ITHYPH.TEX) has been extracted for eliminating the
  30. % (few) patterns specific to latin and leave those specific to italian.
  31. % Nonetheless this file hyphenates both languages as described in the above
  32. % paper.
  33. %
  34. % This set of patterns is compatible with the existing sets of macros and 
  35. % fonts for TeX and LaTeX that map the medieval latin ligatures \oe and \ae
  36. % (and their capialized correspondent ones) to the original 128 character 
  37. % sets.
  38. % Latin does not have accented characters (the breve and macron accents are
  39. % used only in grammars); those patterns that might serve only italian
  40. % hyphenation do not refer to accented vowels (se the prologue to the
  41. % ITHYPH.tex file). Should you use 256 character sets (real or virtual ones)
  42. % then you need to map \oe and \ae to the suitable positions of the character
  43. % table. For the Cork encoding see reference (1).
  44. %
  45. % Should you find any word that gets hyphenated in a wrong way, please, AFTER
  46. % CHECKING ON A RELIABLE MODERN DICTIONARY, report to the author, preferably
  47. % by e-mail. In particular remember that these patterns are for latin in
  48. % modern spelling, not for medieval latin. If you have to deal with medieval
  49. % latin you'd better get the hyphenation patterns prepared by Yannis 
  50. % Haralambous (TUGboat, vol.13 n.4 (1992)).
  51. % For what concern perfixes and suffixes, the latter are generally separated
  52. % accordind to "natuaral" syllabification, while the former are generally
  53. % divided etimologically. In order to avoid an excessive number of patterns,
  54. % care has been payed to some prefixes, especially "ex", "trans",
  55. % "circum", "prae", etc., but this set of patterns is NOT capable of 
  56. % separating the prefixes in all circumstances.
  57. %
  58. % In order to allow the composer to introduce soft discretionary hyphens, this
  59. % file contains the redefinition of the underscore character (_) to be used
  60. % as a soft discretionary hyphen, in contrast to \- that inserts a hard one;
  61. % this means that, e.g., trans_ierat corresponds to the possible hyphenation
  62. % trans-ie-rat, while trans\-ierat corresponds to trans-ierat.
  63. % Since the underscore is used (outside TeX math mode) quite often, for
  64. % example in file names, in  labels, and other cross references,
  65. % according to the composer's habits, the definition of the underscore with
  66. % its
  67. discretionary hyphen very easily breaks apart, giving raise to
  68. % uncontrollable TeX errors. Therefore the underscore redefiniton is
  69. % clearly marked AND COMMENTED, so that if you know what you are doing, you
  70. % may uncomment it and use it.
  71. %
  72. % ============================================================================
  73. % This software is released "as is" with no explicit or implicit guarantee of 
  74. % any kind. It is given free of any charge and may be freely copied and 
  75. % given to others without charging anything.
  76. % ============================================================================
  77. %
  78. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  79. %
  80. % Ligatures \ae e \oe
  81. %
  82. % \ae = 26 = ^^Z = ^^1a      %  128 character sets !!!!
  83. % \AE = 29 = ^^] = ^^1d         %
  84. % \oe = 27 = ^^[ = ^^1b         %    Change accordingly for 256 real or virtual
  85. % \OE = 30 = ^^^ = ^^1e         %  character sets     !!!!
  86. %
  87. % ... or eliminate the following macro (here and in the sequel) if suitable
  88. % catcodes are already assigned:
  89. %
  90. \def\catcodeAE{\catcode 26  =11  \catcode 29  =11  \lccode 29 = 26
  91.                \uccode  26 = 29  \lccode  26 = 26  \uccode 29 = 29
  92.                \catcode 27  =11  \catcode 30  =11  \lccode 30 = 27
  93.                \uccode  27 = 30  \lccode  27 = 27  \uccode 30 = 30}
  94. %               
  95. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  96. %
  97. %        Soft discretionary hyphens by means of the underscore
  98. %
  99. % ----> UNCOMMENT THE FOLLOWING 10 LINES IF YOU WANT THIS FACILITY <-----
  100. %
  101. %\toks255=\expandafter{\the\catcode`\@}
  102. %\catcode`\@=11
  103. %\def\allowhyphens{\penalty\@M\hskip\z@
  104. %                  \discretionary{-}{}{}\penalty\@M\hskip\z@}
  105. %\let\sb@=_ 
  106. %\catcode`\_=13
  107. %\def\psb@{\ifmmode \sb\else\allowhyphens\fi}
  108. %\def_{\protect\psb@}
  109. %\catcode`\@=\the\toks255
  110. %
  111. % P.S. You can move this definition to a personal option file
  112. %
  113. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  114. %
  115. % Comment out the next line if you have another means for identifying the
  116. % languages; for example, if you load these patterns through a file similar
  117. % to lhyphen.tex, you might have assigned this set of patterns to a specific
  118. % number; therefore either you substitute the cs. \italian with this number
  119. % or you define \italian to this number. Or, may be, you use BABEL and the
  120. % language number is associated with \l@italian. Fell free to adapt the
  121. % file to your needs.
  122. %
  123. \newlanguage\italian
  124. %
  125. %---------------------------------------------------------------------------
  126. % You can put the following lines in a personal option file
  127. %
  128. % Be sure that the language number is proprly defined, and that \catcodeAE
  129. % is either well defined or eliminated.
  130. %
  131. \def\italiano{\language=\italian \righthyphenmin=2
  132.               \catcodeAE \lccode`\'=`\'}
  133. %
  134. \def\latino{\italiano \lccode`\'=0}
  135. %
  136. %---------------------------------------------------------------------------
  137. %
  138. \begingroup             % So that declarations remain local 
  139. %
  140. \language\italian     % See above
  141. %
  142. \catcodeAE              % See above
  143. %
  144. \lccode`\'=`\'          % Latin does not need this, but italian does.
  145.                         % 
  146. \let\ae=^^1a            % Shorhand for the medieval latin ligatures
  147. \let\oe=^^1b        % 128 char. set; change accordingly for 256 char. sets
  148.                         %
  149. \patterns{
  150. .a2b2s3  .a2b3l
  151. .o2b3l   .o2b3m .o2b3r .o2b3s
  152. .anti3     .anti3m4n
  153. .di2s3ci3ne
  154. .circu2m3
  155. .wa2g3n
  156. .a2p3n
  157. .ca4p5s
  158. .para3i .para3u
  159. .pre3i .pro3i
  160. .ri3a .ri3e  .re3i  .ri3o  .ri3u
  161. .su4b3lu     .su4b3r
  162. 2s3que. 2s3dem.
  163. 3p4si3c4
  164. 3p4neu1
  165. \ae1    \oe1                              % Ligatures ae and oe
  166. a1a   a2e    a2i    a2j    a1o   a2u  a2y
  167. a2y3o a3i2a  a3i2e  a3i2o  a3i2u ae3u
  168. e1a   e1e    e2i    e2j    e2o   e2u  e2y e3iu
  169. i2a   i2e    i1i    i2o    i2u   io3i
  170. o1a   o2e    o2i    o2j    o1o   o2u  o2y
  171. o3i2a o3i2e  o3i2o  o3i2u
  172. u2a   u2e    u2i    u2o    u1u   uo3u
  173. 1b2   2b3b   4b3d   2b3n   2b3t
  174.       2b3s4a 2b3s4e 2b3s4i 2b3s4o 2b3s4u  2b3s4t   u2b3s4c
  175. 1c2   2c3c   2c3m   2c3n   2c3q  2c3s  2c3t  2c3z  2ch3h
  176. 1d2   2d3d   2d3g   2d3m   2d3s  2d3v  4d3w
  177. 1f2   2f3f   2f3t
  178. 1g2   2g3g   2g3d   2g3f   2g3m  2g3s  2g3v
  179. 1h2
  180. 1j2   2j3j
  181. 1k2   2k3k
  182. 1l2a  1l2e   1l2i   1l2j   1l2o 1l2u
  183.       2l3l   l3f4t  1l'  2l4l3m 1l2\ae1 1l2\oe1
  184. 1m2   2m3m   2m3b   2m3p   2m3l 2m3n  2m3r   2m4p3s
  185.       2m4p3t 4m3w
  186. 1n2a  1n2e   1n2i   1n2j   1n2o 1n2u  2n3n    2n1l
  187.       n2g3n  2n1r   n2s3m  n2s3f  2n' 1n2\ae1 1n2\oe1
  188. 1p2   2p3p   2p3s   2p3n   2p3t 2p3z  2ph3p  2ph3t  2s3p2h
  189. 1q2   2q3q
  190. 1r2a  1r2e   1r2i   1r2j   1r2o 1r2u  1r2h   1r2\ae1 1r2\oe1
  191. 1s2   2s3s   2st3m  2s'
  192. 1t2   2t3t   4t3m   2t3n   1t'  4t3w  2t3z
  193. 1v2   2v3v
  194. 1w2   2w3w   wa4r
  195. 1x2a  1x2e   1x2i   1x2o   1x2u 2x3x  1x2\ae1  1x2\oe1
  196. y2a   y2e    y2i    y2o    y2u
  197. 1z2   2z3z   2z3t   1z'
  198. }
  199. \endgroup
  200. %
  201. \endinput
  202. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  203.